From 3187f6310b94aa5371a3341af2c709074da57aaf Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Fri, 14 Dec 2007 13:29:42 -0700 Subject: [PATCH] [IA64] vti fault handler clean up: clean up of vmx_ivt.S Trivial clean up of vmx_ivt.S - Use VMX_SAVE_MIN_WITH_COVER instead of VMX_SAVE_MIN_WITH_COVER_R19 if it isn't necessary. - Fix vmx_dispatch_interrupt, vmx_interrupt. psr.i shouldn't be set. ia64_handle_irq() should be called with interrupt masked. Signed-off-by: Isaku Yamahata --- xen/arch/ia64/vmx/vmx_ivt.S | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/xen/arch/ia64/vmx/vmx_ivt.S b/xen/arch/ia64/vmx/vmx_ivt.S index 9785947993..c908ce1511 100644 --- a/xen/arch/ia64/vmx/vmx_ivt.S +++ b/xen/arch/ia64/vmx/vmx_ivt.S @@ -702,9 +702,6 @@ ENTRY(vmx_interrupt) ssm psr.ic ;; - srlz.i - ;; - (p15) ssm psr.i adds r3=8,r2 // set up second base pointer for SAVE_REST srlz.i // ensure everybody knows psr.ic is back on ;; @@ -1361,7 +1358,7 @@ ENTRY(vmx_dispatch_reflection) END(vmx_dispatch_reflection) ENTRY(vmx_dispatch_virtualization_fault) - VMX_SAVE_MIN_WITH_COVER_R19 + VMX_SAVE_MIN_WITH_COVER ;; alloc r14=ar.pfs,0,0,2,0 // now it's safe (must be first in insn group!) mov out0=r13 //vcpu @@ -1384,7 +1381,7 @@ END(vmx_dispatch_virtualization_fault) GLOBAL_ENTRY(vmx_dispatch_vexirq) - VMX_SAVE_MIN_WITH_COVER_R19 + VMX_SAVE_MIN_WITH_COVER alloc r14=ar.pfs,0,0,1,0 mov out0=r13 @@ -1424,8 +1421,7 @@ ENTRY(vmx_dispatch_tlb_miss) END(vmx_dispatch_tlb_miss) ENTRY(vmx_dispatch_break_fault) - VMX_SAVE_MIN_WITH_COVER_R19 - ;; + VMX_SAVE_MIN_WITH_COVER ;; alloc r14=ar.pfs,0,0,4,0 // now it's safe (must be first in insn group!) mov out0=cr.ifa @@ -1450,17 +1446,15 @@ END(vmx_dispatch_break_fault) ENTRY(vmx_dispatch_interrupt) - VMX_SAVE_MIN_WITH_COVER_R19 // uses r31; defines r2 and r3 + VMX_SAVE_MIN_WITH_COVER // uses r31; defines r2 and r3 ;; - alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group + alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group mov out0=cr.ivr // pass cr.ivr as first arg adds r3=8,r2 // set up second base pointer for SAVE_REST ;; ssm psr.ic ;; srlz.i - ;; - (p15) ssm psr.i movl r14=ia64_leave_hypervisor ;; VMX_SAVE_REST -- 2.30.2